A common architecture for motor control systems involves the storage of stator current command tables for multiple input DC voltages. For a given DC voltage, then, the current commands can be determined from the appropriate look-up table. In the event that the input voltage lies between two of the pre-stored tables, interpolation is used to determine the correct current command. However, in certain situations near peak torque, only valid operating commands are available in the upper table. This occurs when the torque command exceeds the peak torque limit of the lower Vdc table. In such a case, errors in interpolation can occur.
More particularly, FIG. 1 shows a block diagram of a typical AC motor drive control system 100. Control system 100 generally includes a set of look-up tables 104 taking inputs 102, a synchronous frame current regulator block 106, a synchronous-to-stationary transformation block 108, a two-to-three-phase transformation block 110, a 3-phase voltage source inverter 112, a three-to-two-phase transformation block 116, and a stationary-to-synchronous transformation block 114, all configured as a closed loop as shown, wherein inverter 112 is coupled a PM motor 118. A resolver 120 and associated resolver-to-digital converter 122 feed into blocks 108 and 114. Such functional blocks are known in the art, and need not be described in detail.
In order to achieve optimal performance over the wide range of expected DC link voltage and motor speed, current command information is often calculated off-line and stored. In this case, current commands for the synchronous frame current regulators 106 are stored in 2-dimensional look-up tables 104. The indexes into each table are torque and speed. Conventional motor control architectures have multiple tables for different DC voltages (e.g., 150, 200, 250, 300, 350, 400V, etc.). However, problems can occur when the actual voltage lies between two tables in the field weakening region.
For example, FIG. 2 represents the motor torque limit at two different voltages, in this case, 300V and 350V. If the actual DC voltage is 325V, the torque command is 125 Nm, and the speed is n1 as shown. Since the command exceeds the 300V torque limit, the system is forced to compute the 300V command at the restricted level of p1 (100 Nm). From the 350V table, since the command is less than the limit (p4) the system computes the data at the desired level p2. It then linearly interpolates between the two results based upon voltage. Since 325V is half-way between 300 and 350V, the system would essentially average the two results, and end up somewhere between p1 and p2, at p3. However, the correct result, due to the non-linear nature of the curves, is actually at p2.
This is also illustrated in FIG. 3, which is a plot of the torque versus Vdc at a fixed speed Here, p1 and p4 represent the maximum torque values for the bounding DC voltages (300V and 350V). Conventional algorithms would return a result at point 304, while the desired point is 302.
Accordingly, it is desirable to provide improved motor drive control system algorithms that can better interpolate Vdc. Additional desirable features and characteristics of the present invention will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background.